//reg address
`define CP0_REG_BADVADDR    5'b01000       
`define CP0_REG_COUNT    5'b01001        
`define CP0_REG_COMPARE    5'b01011      
`define CP0_REG_STATUS    5'b01100       
`define CP0_REG_CAUSE    5'b01101       
`define CP0_REG_EPC    5'b01110          
`define CP0_REG_PRID    5'b01111         
`define CP0_REG_CONFIG    5'b10000      

//exception code
`define CP0_EXC_INT 5'b00000
`define CP0_EXC_ADEL 5'b00100
`define CP0_EXC_ADES 5'b00101
`define CP0_EXC_SYS 5'b01000
`define CP0_EXC_BP 5'b01001
`define CP0_EXC_RI 5'b01010
`define CP0_EXC_OV 5'b01100
`define CP0_EXC_ERET 5'b01110
`define CP0_NO_EXC 5'b11111

//exception one-hot signal
`define EXC_SIGNAL_INT      8
`define EXC_SIGNAL_ADELI    7
`define EXC_SIGNAL_RI       6
`define EXC_SIGNAL_OV       5
`define EXC_SIGNAL_BP       4
`define EXC_SIGNAL_SYS      3
`define EXC_SIGNAL_ADELD    2
`define EXC_SIGNAL_ADES     1
`define EXC_SIGNAL_ERET     0